Đặt tên Kiểu phương tiện

Một loại phương tiện truyền thông bao gồm một kiểu và một kiểu con, được cấu trúc thêm vào một cây. Một kiểu phương tiện có thể tùy ý xác định một hậu tố và tham số:

type "/" [tree "."] subtype ["+" suffix] *[";" parameter]

Các kiểu hiện đang đăng ký là: application, audio, example, font, image, message, model, multipart, textvideo.

Ví dụ, một file HTML có thể được chỉ định là text/html; charset=UTF-8. Trong ví dụ này, text là kiểu, html là kiểu con và charset=UTF-8 là một tham số tùy chọn chỉ ra mã hóa ký tự.

Một kiểu con thường bao gồm một định dạng phương tiện, nhưng nó có thể hoặc cũng phải chứa nội dung khác, chẳng hạn như tiền tố cây, nhà sản xuất, sản phẩm hoặc hậu tố, theo các quy tắc khác nhau trong cây đăng ký.

Các kiểu, kiểu con và tên tham số không phân biệt chữ hoa chữ thường. Các giá trị tham số thường phân biệt chữ hoa chữ thường, nhưng có thể được hiểu theo kiểu không phân biệt chữ hoa chữ thường tùy theo mục đích sử dụng.[5]

Ví dụ phổ biến

  • application/javascript
  • application/json
  • application/x-www-form-urlencoded
  • application/xml
  • application/zip
  • application/pdf
  • application/sql
  • application/graphql
  • application/ld+json
  • application/msword (.doc)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (.docx)
  • application/vnd.ms-excel (.xls)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)
  • application/vnd.ms-powerpoint (.ppt)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)
  • application/vnd.oasis.opendocument.text (.odt)
  • audio/mpeg
  • audio/ogg
  • multipart/form-data
  • text/css
  • text/html
  • text/xml
  • text/csv
  • text/plain
  • image/png
  • image/jpeg
  • image/gif

Cây đăng ký

Tất cả các kiểu phương tiện nên được đăng ký bằng thủ tục đăng ký IANA. Để đạt được hiệu quả và tính linh hoạt của quy trình đăng ký kiểu phương tiện, các cấu trúc khác nhau của các kiểu con có thể được đăng ký trong các cây đăng ký được phân biệt bằng cách sử dụng tiền tố cây. Hiện tại các cây sau đây được tạo: tiêu chuẩn (không có tiền tố), nhà cung cấp (tiền tố vnd.), Cá nhân hoặc vanity (tiền tố prs.), chưa đăng ký (tiền tố x.). Những cây đăng ký này được xác định lần đầu tiên vào tháng 11 năm 1996 (RFC 2048 đã lỗi thời - hiện là RFC 6838). Cây đăng ký mới có thể được tạo bởi IETF Standards Action để đăng ký và quản lý bên ngoài bởi các tổ chức thường trực nổi tiếng (ví dụ: các hội khoa học).

Cây tiêu chuẩn

Cây tiêu chuẩn không sử dụng bất kỳ tiền tố cây nào:[6]

type "/" subtype ["+" suffix] *[";" parameter]

Ví dụ: application/javascript, image/png.

Việc đăng ký trong cây tiêu chuẩn phải được liên kết với các thông số kỹ thuật của IETF được IESG phê duyệt trực tiếp hoặc được đăng ký bởi một tổ chức liên quan đến tiêu chuẩn được IANA công nhận.

Cây nhà cung cấp

Cây nhà cung cấp bao gồm các kiểu phương tiện liên quan đến các sản phẩm có sẵn công khai. Nó sử dụng tiền tố cây vnd.:

type "/" "vnd." subtype ["+" suffix] *[";" parameter]

Ví dụ: application/vnd.ms-excel, application/vnd.oasis.opendocument.text.

Các thuật ngữ "nhà cung cấp" và "nhà sản xuất" được coi là tương đương trong ngữ cảnh. Các tập đoàn công nghiệp cũng như các thực thể phi thương mại có thể đăng ký các kiểu phương tiện trong cây nhà cung cấp. Đăng ký trong cây nhà cung cấp có thể được tạo bởi bất kỳ ai cần trao đổi các file được liên kết với một số sản phẩm phần mềm hoặc bộ sản phẩm. Tuy nhiên, đăng ký thuộc về nhà cung cấp hoặc tổ chức sản xuất phần mềm sử dụng kiểu được đăng ký và nhà cung cấp hoặc tổ chức đó bất cứ lúc nào có thể chọn để xác nhận quyền sở hữu đăng ký do bên thứ ba thực hiện.

Cây cá nhân hoặc cây vanity

Cây cá nhân hoặc cây vanity bao gồm các kiểu phương tiện được liên kết với các sản phẩm không công khai hoặc các loại phương tiện thử nghiệm. Nó sử dụng tiền tố cây prs.:

type "/" "prs." subtype ["+" suffix] *[";" parameter]

Ví dụ: audio/prs.sid, image/prs.btif.

Cây chưa đăng ký

Cây chưa đăng ký bao gồm các loại phương tiện dành riêng cho sử dụng trong môi trường riêng tư và chỉ với sự thỏa thuận tích cực của các bên trao đổi chúng. Nó sử dụng x. tiền tố cây:

type "/" "x." subtype ["+" suffix] *[";" parameter]

Ví dụ: application/x.foo, video/x.bar.

Các kiểu phương tiện trong cây này không thể được đăng ký. Theo RFC 6838 (xuất bản vào tháng 1 năm 2013), bất kỳ việc sử dụng các loại trong cây chưa đăng ký đều được khuyến khích mạnh mẽ. Ngoài ra, các kiểu con có tiền tố x- hoặc X- không còn được coi là thành viên của cây này.

Theo RFC 2048 đã lỗi thời (xuất bản vào tháng 11 năm 1996), hiếm khi, cần phải sử dụng các loại chưa đăng ký, và như vậy sử dụng bất kỳ tiền tố x., x- hoặc X- không được khuyến khích. RFC 1590 đã lỗi thời (xuất bản vào tháng 9 năm 1993) nói rằng việc sử dụng tiền tố x- hoặc X- có thể được sử dụng cho các kiểu con chưa đăng ký.

Các kiểu phương tiện đã được triển khai rộng rãi (với một kiểu con có tiền tố x- hoặc X-) mà không được đăng ký, nếu có thể, nên đăng ký lại với một kiểu con có tiền tố thích hợp. Nếu điều này là không thể, thì kiểu phương tiện có thể, sau khi được cả người đánh giá loại phương tiện và IESG chấp thuận, sẽ được đăng ký trong cây tiêu chuẩn với loại phụ không được trộn.

Hậu tố

Hậu tố là một sự bổ sung cho định nghĩa loại phương tiện để chỉ định thêm cấu trúc cơ bản của kiểu phương tiện đó. Các kiểu phương tiện sử dụng cú pháp có cấu trúc có tên nên sử dụng "+"suffix đăng ký IANA thích hợp cho cú pháp có cấu trúc đó khi chúng được đăng ký. Không nên sử dụng hậu tố chưa đăng ký (kể từ tháng 1 năm 2013). Các thủ tục đăng ký hậu tố cú pháp có cấu trúc được định nghĩa trong RFC 6838.

Ví dụ về các hậu tố hiện đang đăng ký là: +xml, +json, +ber, +der, +fastinfoset, +wbxml, +zip, +gzip, (trong RFC 7049) +cbor[7].

+xml Hậu tố +xml được xác định từ tháng 1 năm 2001 (RFC 3023). Đăng ký chính thức của hậu tố +xml và các hậu tố khác được xác định từ tháng 1 năm 2013 (RFC 6839).

Tài liệu tham khảo

WikiPedia: Kiểu phương tiện http://venus.soci.niu.edu/~archives/WEBMASTERS/nov... http://www.iana.org/assignments/media-type-structu... //www.worldcat.org/issn/2070-1721 https://www.iana.org/assignments/media-types/media... https://tools.ietf.org/html/rfc1945#section-3.6 https://tools.ietf.org/html/rfc2045 https://tools.ietf.org/html/rfc2045#section-5.1 https://tools.ietf.org/html/rfc6838 https://docs.python.org/2/library/mailcap.html https://www.w3.org/TR/html401/types.html#type-cont...